Engineering a Parallel Compiler for Standard Ml

نویسندگان

  • Norman Scaife
  • Paul Bristow
  • Greg Michaelson
چکیده

We present the design and partial implementation of an automated parallelising compiler for Standard ML using algorithmic skeletons. Source programs are parsed and elaborated using the ML Kit compiler and a small set of higher order functions are automatically detected and replaced with parallel equivalents. Without the presence of performance predictions, the compiler simply instantiates all instances of the known HOFs with parallel equivalents. The resulting SML program is then output as Objective Caml and compiled with the parallel skeleton harnesses giving an exe-cutable which runs on networks of workstations. The parallel harnesses are implemented in C with MPI providing the communications subsystem. A substantial parallel exemplar is presented, an implementation of the Canny edge tracking algorithm from computer vision which is parallelised by implementing the map skeleton over a set of subimages.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallel Standard ML with Skeletons

We present an overview of our system for automatically extracting parallelism from Standard ML programs using algorithmic skeletons. This system identifies a small number of higher-order functions as sites of parallelism and the compiler uses profiling and transformation techniques to exploit these.

متن کامل

Implementing Ml on the Fujitsu Ap1000

The CAP ML project seeks to develop a version of ML that is suitable for use on a distributed memory multiprocessor architecture such as the Fujitsu AP1000. Language extensions are proposed that have been developed in conjunction with a programmming methodology that is appropriate to that of a massively parallel computer whilst retaining a functional style. The implementation, which is based on...

متن کامل

Statement of Research

History has shown the benefits of high-level languages, language design, and managed language runtimes on how programmers develop complex and sophisticated systems. High-level languages, such as Java and Standard ML, are strongly typed and provide rich abstraction mechanisms, thereby reducing the time and effort to develop software. Language primitives and abstractions provide semantic guarante...

متن کامل

An Extension of ML for Distributed Memory Multicomputers

This paper describes the design of paraML, an extension of ML with primitives for par-allelism that is suitable for use on a distributed memory multicomputer architecture such as the Fujitsu AP1000. Consideration of the lessons learned from previous parallel functional languages provided a focus for determining the requirements of parallel extensions of ML. These requirements are detailed, and ...

متن کامل

Comparative Cross-Platform Performance Results from a Parallelizing SML Compiler

We have developed a compiler for Standard ML which allows instantiation of a xed set of higher order functions with equivalent parallel algorithmic skeletons written in C and MPI. The compiler is intended to be both portable and semi-automatic. Here we discuss the performance of the code generated by the compiler, for ve exemplar programs on six MIMD parallel machines. Results suggest acceptabl...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998